package cz.uhk.max.util;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

public class Style {
	
	public static String formatBigDecimal(BigDecimal decimal){
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(new Locale("cs","CZ"));
		format.setMaximumFractionDigits(2);
		format.setMinimumFractionDigits(2);
		format.setMinimumIntegerDigits(1);
		format.applyPattern("###0.00");
        return format.format(decimal.doubleValue());
	}
	
	public static String formatBigDecimalEn(BigDecimal decimal){
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(new Locale("en","EN"));
		format.setMaximumFractionDigits(2);
		format.setMinimumFractionDigits(2);
		format.setMinimumIntegerDigits(1);
		format.applyPattern("###0.00");
        return format.format(decimal.doubleValue());
	}
	
	public static String formatBigDecimal(Double decimal) {
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(new Locale("cs","CZ"));
		format.setMaximumFractionDigits(2);
		format.setMinimumFractionDigits(2);
		format.setMinimumIntegerDigits(1);
		format.applyPattern("###0.00");
        return format.format(decimal.doubleValue());
	}
	
	public static BigDecimal parseBigDecimal(String number) throws ParseException {
		DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
		format.setMaximumFractionDigits(2);
		format.setMinimumFractionDigits(2);
		format.setMinimumIntegerDigits(1);
		format.applyPattern("###0.00"); 
		return new BigDecimal(format.parse(number).longValue());
	}
	
}
